// createLogger 开发环境下可以查看状态
import { createStore, createLogger } from 'vuex'
import state from './state'
import mutations from './mutations'
// 引入文件中所有的方法
import * as getters from './getters'
import * as actions from './actions'

const debug = process.env.NODE_ENV !== 'production'

export default createStore({
  state: state,
  mutations: mutations,
  // 可以同下方这样写 也可以与上面一样写
  getters,
  actions,
  // vuex提供了严格模式，帮忙检测state修改是否是在提交mutation的时候，如果不是就会报错，开启时候会深度watch所以线上模式就关闭这个模式
  strict: debug,
  // 插件，如果线上模式就不用插件 线下模式使用插件
  plugins: debug ? [createLogger()] : []
})
